
var express = require('express');
var app = express();
const https = require("https");
const fs = require('fs')

// 只要安装了git客户端就会有openssl
// 检测openssl是否安装
// openssl version -a
// #1、生成私钥key文件：
// openssl genrsa -out privatekey.pem 1024
// #2、通过私钥生成CSR证书签名  （需要填一些信息、可直接回车）
// openssl req -new -key privatekey.pem -out certrequest.csr
// #3、通过私钥和证书签名生成证书文件 
// openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
// privatekey.pem: 私钥
// certrequest.csr: CSR证书签名
// certificate.pem: 证书文件
var options = {
    key: fs.readFileSync('./privatekey.pem'),
    cert: fs.readFileSync('./certificate.pem')
};

var url = '/complex.json';
app.get(url, function(req, res) {

    // 默认返回的json 对象
    var obj = {
       data:[
           {cc:112}
       ]
    }
    // 产生一个随机的金额模拟一下可用余额
    var money = Math.floor(Math.random()*10) + 5;

    // 如果请求中有参数 ‘types=ACCOUNT’
    if('types' in  req.query && req.query.types === 'ACCOUNT'){
        obj = {
            "ACCOUNT": {
                "avaiable": money,
                "freezeAmount": 0
            },
            "success": true
        };
    }
    res.jsonp(obj);
});
let server = https.createServer(options, app)
server.listen(443,function () { console.log('Https server listening on port ' + 443); });


// server=app.listen(443,'cliss.com',function(req,res,next){
//     let host=server.address().address
//     let port=server.address().port
//     console.log("https://%s:%s",host,port)
// })